package com.css.fxfzxczh.modules.buildingKilometerGrid.model.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 建筑物公里格网版本
 */
@Data
public class FxqhBuildingGridDataVersion implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 版本号
     */
    private String versionCode;

    /**
     * 版本时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date versionTime;

    /**
     * 版本说明
     */
    private String versionDesc;

    /**
     * 附件id列表，用,分隔
     */
    private String attachmentIds;

    /**
     * 上传人id
     */
    private String uploadUser;

    /**
     * 更新说明
     */
    private String updateDesc;

    /**
     * 数据范围，1-国家级，2-省级
     */
    private Integer dataRangeCountry;

    /**
     * 数据范围-省
     */
    private String dataRangeProvince;

    /**
     * 数据范围-市
     */
    private String dataRangeCity;

    /**
     * 数据名称
     */
    private String dataName;

    /**
     * 数据说明
     */
    private String dataDesc;

    /**
     * 上传时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date uploadTime;

    /**
     * 删除标志
     */
    private String delFlag;

    /**
     * 数据文件列表。用,分隔
     */
    @NotBlank(message = "数据文件列表不能为空")
    private String dataFileIds;

    /**
     * 数据范围-县区
     */
    private String dataRangeArea;

    /**
     * 上传来源
     */
    private String uploadSource;

    /**
     * 空间数据类型 1-点 2-线 3-面
     */
    private Integer spatialDataType;

    /**
     * 投影信息
     */
    private String projectionInfo;

    /**
     * 字段个数
     */
    private Integer fieldNum;

    /**
     * 字段条目
     */
    private Integer fieldEntry;

    /**
     * update_time
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * update_user
     */
    private String updateUser;

    /**
     * data_range_str
     */
    private String dataRangeStr;

    /**
     * create_time
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * create_user
     */
    private String createUser;

    /**
     * 建筑物公里网格类型
     */
    private String dataType;
}
